package airacrobats.io.data;

import java.util.List;
import javax.vecmath.Point3f;
import javax.vecmath.Vector3f;

/**
 * This class contains routes data.
 */
public class RouteData
{
    /**
     * Start position.
     */
    private Point3f startPosition;
    /**
     * Initial speed vector.
     */
    private Vector3f startSpeed;
    /**
     * Airplane movements.
     */
    private List<MovementData> movements;
    /**
     * Flag indicating if the airplane is inverted.
     */
    private boolean inverted;

    /**
     * @param startPosition The start position.
     * @param startSpeed The initial speed vector.
     * @param movement The movements.
     * @param inverted Inverse flag.
     */
    public RouteData(Point3f startPosition, Vector3f startSpeed, List<MovementData> movements,
            boolean inverted)
    {
        this.startPosition = startPosition;
        this.startSpeed = startSpeed;
        this.movements = movements;
        this.inverted = inverted;
    }

    /**
     * @return The start position.
     */
    public Point3f getStartPosition()
    {
        return startPosition;
    }

    /**
     * @return The initial speed.
     */
    public Vector3f getStartSpeed()
    {
        return startSpeed;
    }

    /**
     * @return The airplane movements.
     */
    public List<MovementData> getMovements()
    {
        return movements;
    }

    /**
     * @return The inverted flag.
     */
    public boolean isInverted()
    {
        return inverted;
    }
}
